/*
 *   sleep.js
 *   功能：休眠函数
 *   参数：ms 休眠时间，单位毫秒
 *   返回值：Promise 对象
 *   用法：await sleep(1000) // 休眠1秒
 *   注意：await 关键字只能在 async 函数中使用
 *   示例：
 *   async function test() {
 *     console.log('开始')
 *    await sleep(1000) // 休眠1秒
 *     console.log('结束')
 *  }
 * */
export const sleep = (ms = 650) => {
  // 校验参数是否为有效数字
  if (typeof ms !== 'number' || isNaN(ms) || ms < 0) {
    return Promise.reject(new Error('传入的休眠时间必须是一个非负数字'))
  }
  return new Promise((resolve) => setTimeout(resolve, ms))
}
